搭建远端存储,深度解读SPDK NVMe | 您所在的位置:网站首页 › spdk ceph › 搭建远端存储,深度解读SPDK NVMe |
NVMF_TGT_INIT_START_SUBSYSTEMS: 在每个poll group上把所有的NVMe-oF的subsystem 状态设置为ACTIVE。 然后进入状态NVMF_TGT_INIT_START_ACCEPTOR。 NVMF_TGT_INIT_START_ACCEPTOR: 这个状态,实际是根据所定义的acceptor_poll_rate, 设置一个定时器poller, 这个poller会调用函数acceptor_poll, 用于在每个transport上处理监听到事件。然后进入NVMF_TGT_RUNNING状态。 NVMF_TGT_RUNNING: 这个状态表明NVMe-oF 这个模块的subsystem已经初始化好了,可以初始化下一个subsystem。 NVMF_TGT_FINI_STOP_SUBSYSTEMS: 这个状态只有在整个app退出的时候,实际上主要是主动退出,或者大部分状态是收到kill (比如ctrlr+c)命令的时候,才会触发NVMf 模块的subsystem(注意这里指的是NVMf subsystem 这个模块)的退出,即被调用spdk_nvmf_subsystem_fini函数,然后被调用到_spdk_nvmf_shutdown_cb函数。进入这个状态后,我们会按照顺序关闭每一个NVMe-oF 这个 subsystem。接着进入:NVMF_TGT_FINI_DESTROY_POLL_GROUPS状态。 NVMF_TGT_FINI_DESTROY_POLL_GROUPS: 在每个SPDK thread上,调用nvmf_tgt_destroy_poll_group, 来销毁polling group, 在这个函数里面会调用spdk_nvmf_poll_group_destroy销毁这个polling group上的所有qpair。当nvmf_tgt_destroy_poll_group_done被调用到的时候,我们进入NVMF_TGT_FINI_STOP_ACCEPTOR。 NVMF_TGT_FINI_STOP_ACCEPTOR: 销毁处理所有transport 监听事件的poller。然后进入NVMF_TGT_FINI_FREE_RESOURCES状态。 NVMF_TGT_FINI_FREE_RESOURCES: 销毁g_spdk_nvmf_tgt 所拥有的资源。最终调用函数nvmf_tgt_destroy_done, 然后进入NVMF_TGT_STOPPED状态。 NVMF_TGT_STOPPED: NVMe-oF 这个模块的subsystem已经被销毁,可以处理下一个模块的subsystem。 NVMF_TGT_ERROR: 主要是有错误的时候进入这个状态,然后进行下一个模块subsystem的初始化。 |
CopyRight 2018-2019 实验室设备网 版权所有 |